package com.jy.modules.cims.component.sysAssist;

/**
 * 
 * <b>类名称：</b>JobOptimismLockForSingleServer <br/>
 * <b>类描述：在单服务器环境下的定时任务锁处理，在获取锁失败的情况下，调用端可直接结束当前任务</b><br/>
 * <b>创建人：</b>chenguixue<br/>
 * <b>修改人：</b><br/>
 * <b>修改时间：</b>2015-1-28 下午2:15:26<br/>
 * <b>修改备注：</b><br/>
 * <b>版本信息：</b>v1.0.0<br/>
 */
public class JobOptimismLockForSingleServer implements IJobOptimismLock {
	private boolean locked = false; // 锁标志
	private Object synObj = new Object();
	/**
	 * 获得锁处理
	 * @author chenguixue
	 * @date 2015-1-28 下午2:14:25
	 * @see com.jy.modules.cims.component.sysAssist.IJobOptimismLock#lock()
	 */
	public boolean lock() {
		synchronized(synObj) {
			if(!locked) {
				locked = true;
				return true;
			} else {
				return false;
			}
		}
	}
	
	/**
	 * 释放锁处理
	 * @author chenguixue
	 * @date 2015-1-28 下午2:15:05
	 * @see com.jy.modules.cims.component.sysAssist.IJobOptimismLock#unlock()
	 */
	public void unlock() {
		synchronized(synObj) {
			if(locked) {
				locked = false;
			}
		}
	}
	
}
